Conventional computer networks are built from a large number of network devices, such as routers, switches, and/or other hardware. Management of a large network can be complex and costly. It is believed that the complexity can be addressed by replacing the fully distributed protocols for control and data forwarding employed in traditional routers with centralized protocols. For example, in a centrally-controlled network, data forwarding (e.g. data plane) can be decoupled from control decisions (e.g. control plane), such as routing, resource, management, and other management functionalities. The decoupling also allows the data plane and the control plane to operate on different hardware, in different runtime environments, and/or operate using different models. In the centrally-controlled network, network intelligence is logically centralized in software-based controllers. Thus, network devices become packet forwarding devices that are managed and controlled by the centralized controllers.